// pages/hot/hot.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        list:[], //页面将要展示的列表数组
        arrayname:"", //当前歌曲集合名
        likes:[], //我喜欢的音乐暂存数组
        prompt:false //登录提示框显示状态
    },
    //单击播放图标时触发，同时判断是否登录
    LoginStatus(e){
        console.log(e.currentTarget.dataset.id);
        console.log(e.currentTarget.dataset.arrayname);
        let id = e.currentTarget.dataset.id
        let arrayname = e.currentTarget.dataset.arrayname
        wx.getStorageInfo({
          success: (res) => {
            console.log(res.keys);
            let a = res.keys.some(value=> value == 'userInfo' )
            console.log(a);
            if(!a){
              console.log("未登录");
              this.setData({prompt:true})
            }else{
              console.log('已登录');
              wx.navigateTo({
                url: '/pages/player/player',
                success(res) {
                  // 通过 eventChannel 向被打开页面传送数据
                  res.eventChannel.emit('acceptDataFromOpenerPage', { id: id ,arrayname: arrayname})
                }
              })
            }
          },
        })
      },
    //单击提示框关闭按钮时触发
    close(){
        this.setData({
            prompt:false
        })
    },
    //单击提示框登录按钮时触发
    login(){
            let that = this
            wx.getUserProfile({
              desc: '获取您的个人信息',
              success(res){
                  console.log(res);
                  console.log(res.userInfo);
                  wx.setStorage({
                    key:'userInfo',
                    data:res.userInfo
                  })
                  that.setData({
                    status:true,
                    prompt:false,
                    userinfo:res.userInfo
                  })
              }
            })
    },
    //单击爱心触发
    likebandler(e){
        console.log(e.currentTarget.dataset.id);
        let id = e.currentTarget.dataset.id
        let list = this.data.list
        let likes = this.data.likes
        let v = list.findIndex(item=>item.id == id)
        let item = list.find(item=>item.id == id)
        console.log(item);
        console.log(item.like);
        //判断当前歌曲是否已存入数据缓存中
        if (item.like == false) {
            list[v].like = true
            likes.unshift(item)
            //将item存入likes数据缓存中
            wx.setStorage({
                key:'likes',
                data:likes
            })
            this.setData({
                list,likes
            })
        }else{
            //将itme从likes数据缓存中删除
            list[v].like = false
            let like_v  = likes.findIndex(value=>value.id == id)
            likes.splice(like_v,1)
            wx.setStorage({
                key:'likes',
                data:likes
            })
            this.setData({
                list,likes
            })
        }
        

    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        //页面初始化时，获取数据并处理
        let that = this
        let db = wx.cloud.database()
        db.collection('hot').get({ //从云数据库获取recommend集合的值
            success(res){
                console.log(res);
                console.log(res.data[0].arrayitem);
                that.setData({ //将获取的值存入list数组中
                    list:res.data[0].arrayitem,
                    arrayname:res.data[0].arrayname
                })
                //获取likes数据缓存并存入likes数组中
                wx.getStorage({
                    key:'likes',
                    success(res){
                        that.setData({
                        likes:res.data
                        })
                        let array = res.data
                        let list = that.data.list
                        console.log(array);
                        console.log(list);
                        //通过for循环判断列表歌曲是否已经添加到我喜欢的音乐，若已添加，则将爱心图标样式改为红色
                        for (let index = 0; index < array.length; index++) {
                        const item = array[index];
                        // console.log(item);
                        // console.log(item.id);
                        let v = list.findIndex(value=>value.id == item.id)
                        if (v!=-1) {
                        console.log(v);
                        list[v].like = true
                        that.setData({list}) 
            }
        }
    }
                })
                
            }
        })

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})